| |||||||
FRAMES NO FRAMES |
Render the markup for a
<script>
element that renders the script
Resource
specified by the optional name
attribute and
library
attributes.
The implementation of this renderer must
have a
@ListenerFor
annotation attached to it, at the class level,
declaring PostAddToViewEvent.class
as the value of the
systemEventClass
attribute. The presence of this annotation on a
renderer implies the renderer implements ComponentSystemEventListener
, which this
renderer must do. The implementation of processEvent()
must extract
the UIComponent
from the argument event and look for the presence
of the key "target
" in the component's attribute Map
.
If and only if such a key is present, the implementation of
processEvent()
must pass the component to UIViewRoot.addComponentResource()
.
Decode Behavior
No action is required during decode for this renderer.
Encode Behavior
Common Algorithm for Obtaining A Resource to Render
This algorithm is
used by all resource renderers to obtain a Resource
instance which
is then rendered in a specific way depending on what kind of renderer is doing
the encoding.
Look in the component attribute Map
for a value under the key name.
Look in the component
attribute Map
for a value under the key library. This
attribute is optional, therefore, library may be
null
.
Create the resource by calling
Application.getResourceHandler.createResource(name,
library);
.
This algorithm is used by all resource renderers to render the resource.
encodeBegin()
must take no action.
Because this renderer
returns true
from getRendersChildren()
, the
encodeChildren() method must take the following action.
If there is no name attribute, and the argument
component
has no children, and ProjectStage
is not
ProjectStage.Production
, add a FacesMessage
for this
component's clientId to the FacesContext
stating that if no name
attribute is present, and no body content is present either, then the user
should take action to correct this problem. In this case,
encodeChildren()
must take no further action.
If
there is no name attribute and the argument component
does have children, the renderer must ensure that those children are
encoded as usual.
If there is a name attribute
and the argument component
does have children, the renderer
must log a descriptive localized message stating that the child content will be
ignored. The resource referenced by the name attribute will be rendered
in encodeEnd()
.
If there is a name
attribute and the argument component
does not have
children, encodeChildren()
must take no action.
encodeEnd()
must take specific action based on the specific kind
of resource being rendered.
Use the algorithm Common Encode
Behavior for encodeBegin()
, encodeChildren()
and
getRendersChildren()
.
For encodeEnd()
, use the
algorithm Common Algorithm for Obtaining A Resource to Render above to
obtain a reference to the Resource
to be encoded.
If this is
NOT the first time this Resource
has been referenced on this
request take no action and return.
Render a script element. Use the
result from calling resource.getRequestPath()
as the value of the
"src" attribue and the result from calling
resource.getContentType()
as the value of the "type" attribute.
Tag Information | |
Tag Class | .Outputresource.ScriptTag |
TagExtraInfo Class | None |
Body Content | JSP |
Display Name | None |
Attributes | ||||
Name | Required | Request-time | T ype | Description |
converter | false | false | javax.el.ValueExpression
(must evaluate to javax.faces.convert.Converter )
| Converter instance registered with this component. |
id | false | true | java.lang.String | The component identifier for this component. This value must be unique within the closest parent component that is a naming container. |
rendered | false | false | javax.el.ValueExpression<
/code>
| Flag indicating whether or not this component should be rendered (during Render Response Phase), or processed on any subsequent form submit. The default value for this property is true. |
value | false | false | javax.el.ValueExpression
| The current value of this component. |
library | false | false | javax.el.ValueExpression
| The libraryName for this resource. |
name | false | false | javax.el.ValueExpression
| The resourceName for this resource. |
target | false | false | javax.el.ValueExpression
| The target area for which this resource will be rendered. For example, target="head" would cause the resource to be rendered within the head element. |
binding | false | false | javax.el.ValueExpression
| The ValueExpression linking this component to a property in a backing bean |
Variables | ||||
No Variables Defined. |
| |||||||
FRAMES NO FRAMES |